
import { ajax, toast } from 'nc-lightapp-front';
import { STATUS } from '../../../../common/constant';
import { AREA, URL, FIELDS } from '../../constance';
import refreshBtnClick from './refreshBtnClick';

export default function batchBlueBtnClick(props) {

        let select = checkSelected(props, false);
        if(!select.valid){
            return;
        }

        let data = null;

        if (select.valid) {
            let selectDatas = select.selectDatas;
            data = selectDatas && selectDatas.map(function(item){
                return {
                        pk : item.data.values[FIELDS.pk_head_fields] && item.data.values[FIELDS.pk_head_fields].value,
                        ts : item.data.values['ts'] && item.data.values['ts'].value,
                        vbillno : item.data.values['vbillcode'].value,
                        action : 'Voucher'
                }
            })
        }

        ajax({
                url: URL.Voucher,
                data: data,
                success: (res) => {
                        PromptMessage.call(this, res);
                        refreshBtnClick.call(this, props);
                }
        });
}

/**
 * 是否选中数据
 * 
 * @param {*} isCheckOne 是否选中一条数据
 * @returns 返回是否校验成功
 */
 export function checkSelected(props, isCheckOne) {
        let valid = true;
        let selectDatas = props.table && props.table.getCheckedRows(AREA.listTableId);
        if (isCheckOne && selectDatas.length > 1) {
            toast({
                color: STATUS.warning, content: props.json['20060701-000012']/* 国际化处理： 请选中一行表体数据!*/
            });
            valid = false;
        } else if (selectDatas.length == 0) {
            toast({
                color: STATUS.warning, content: props.json['20060701-000013']/* 国际化处理： 请选择表体数据操作!*/
            });
            valid = false;
        }
        return { valid, selectDatas };
    }

    /**
 * 列表消息提示
 * @param {*} res           返回的response
 * @param {*} opername      操作名称
 */
export function PromptMessage(res) {
        let { status, msg } = res.data;
        let content;
        let total = res.data.total;
        let successNum = res.data.successNum;
        let failNum = res.data.failNum;
        content = '共' + '提交' + total + '条';/* 国际化处理： 共,条，*/
        content = content + ',成功' + successNum + '条';/* 国际化处理： 成功,条 ,,成功*/
        content = content +',失败' + failNum + ',条';/* 国际化处理： 失败,条,条*/
        let errMsgArr = res.data.msgDetail;
        //全部成功
        if (status == 0) {
            toast({
                color: "success",
                title: '提交' + msg,
                content: content,
                TextArr: ['展开', '收起', '关闭'],/* 国际化处理： 展开,收起,关闭*/
                groupOperation: true
            });
        }
        //全部失败
        else if (status == 1) {
            toast({
                duration: "infinity",
                color: "danger",
                title: '提交' + msg,
                content: content,
                TextArr: ['展开', '收起', '关闭'],/* 国际化处理： 展开,收起,关闭*/
                groupOperation: true,
                groupOperationMsg: errMsgArr
            });
        }
        //部分成功
        else if (status == 2) {
            toast({
                duration: "infinity",
                color: "warning",
                title: '提交' + msg,
                content: content,
                TextArr: ['展开', '收起', '关闭'],/* 国际化处理： 展开,收起,关闭*/
                groupOperation: true,
                groupOperationMsg: errMsgArr
            });
        }
    }